<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="keywords" content="数独技巧,区块排除法( Block Elimination Technique ),数独解法,数独游戏,sudoku" />
<meta http-equiv="description" content="数独游戏的技巧区块排除法( Block Elimination Technique )"/>
<title>数独游戏技巧 区块排除法( Block Elimination Technique ) 数独解法 Sudoku</title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>

<body>

<div id="main">

  <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td style="padding-right: 10px;"><h3>数独游戏技巧（Sudoku）</h3>
      <br />
        <table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#ECE9D8">
          <tr>
            <td width="50%" valign="top"><a href="sk_1.htm">单元唯一法( Sole Position Technique )</a><br />
            <a href="sk_2.htm">单元排除法( Basic Elimination Technique ) </a><br />
            区块排除法( Block Elimination Technique ) <br />
            <a href="sk_4.htm">唯一余数法( Sole Number Technique )</a> <br />
            <a href="sk_5.htm">组合排除法( Combination Elimination Technique)</a> <br />
            <a href="sk_6.htm">矩形排除法( Rectangle Elimination Technique)</a> <br />
            <a href="sk_7.htm">显式唯一法 (Naked Single) </a><br />
            <a href="sk_8.htm">隐式唯一法 (Hidden Single) </a><br />
            <a href="sk_9.htm">区块删减法 (Intersection   Removal) </a><br />
            <a href="sk_10.htm">显式数对法 (Naked Pair) </a><br />
            </td>
            <td valign="top"><a href="sk_11.htm">显式三数集法 (Naked Triplet) </a><br />
            <a href="sk_12.htm">显式四数集法 (Naked Quad) </a><br />
            <a href="sk_13.htm">隐式数对法 (Hidden Pair) </a><br />
            <a href="sk_14.htm">隐式三数集法 (Hidden Triplet) </a><br />
            <a href="sk_15.htm">隐式四数集法 (Hidden Quad) </a><br />
            <a href="sk_16.htm">矩形对角线法 (X-wing) </a><br />
            <a href="sk_17.htm">XY形态匹配法(XY-wing) </a><br />
            <a href="sk_18.htm">XYZ形态匹配法(XYZ-wing) </a><br />
            <a href="sk_19.htm">三链数删减法 (Swordfish) </a><br />
            <a href="sk_20.htm">WXYZ形态匹配法(WXYZ-wing) </a></td>
          </tr>
        </table>
        <br />
        <h3>区块排除法( Block Elimination Technique )</h3>
        <!--end pb--->
<div id="pbf"></div>
        <div></div>
        <p><strong>区块排除法</strong>是直观法中进阶的技法。虽然它的应用范围不如<a href="sk_2.htm">单元排除法</a>那样广泛，但用它可能找到用<a href="sk_2.htm">单元排除法</a>无法找到的解。有时在遇到困难无法继续时，只要用一次<strong>区块排除法</strong>，接下去解题就会势如破竹了。</p>
        <p><strong>区块排除法</strong>实际上是利用区块与行或列之间的关系来实现的，这一点与<a href="sk_2.htm">单元排除法</a>颇为相似。然而，它实际上是一种模糊排除法，也就是说，它并不象<a href="sk_2.htm">单元排除法</a>那样利用谜题中现有的确定数字对行，列或区块进行排除，而是在不确定数字的具体位置的情况下进行排除的。这句话听起来似乎不好理解，让我们先从一个例子入手，看看<strong>区块排除法</strong>是怎么应用的。</p>
        <div><img alt="" src="images/sk_3_1.gif" /> </div>
        <p>对于上面这个谜题，用基本的<a href="sk_2.htm">单元排除法</a>或是<a href="sk_1.htm">单元唯一法</a>都无法再找到解。这时可以尝试使用<strong>区块排除法</strong>。 </p>
        <p>我们先从填入数字最多的区块着手，也就是起始于[G4]的区块，该区块中只有[H6]和[I5]为空，且剩余数字1和2还未填入。这样，我们可以想办法确定这两个数字的位置。</p>
        <p>观察全局，可以看到[D2]=2，根据单元排除法，它所在的第2列上不能再出现数字2，所以[H2]和[I2]将不能填入2，这使得起始于[G1]的区块中数字2可能出现的位置仅剩下[I1]和[I3]，见下图：</p>
        <div><img alt="" src="images/sk_3_2.gif" /> </div>
        <p>虽然我们无法确定2在起始于[G1]的区块中的确定位置，但幸运的是，能填入2的位置正好都在行I上，也就是说，无论2在[I1]还是在[I3]，行I的其他单元格中将不可能再出现数字2，所以可以毫不犹豫地排除在[I5]填入2的可能性，这样，对于起始于[G4]的区块而言，能填入数字2的位置就只剩下[H6]了。所以[H6]=2。接下来，当然毫无疑问，利用<a href="sk_1.htm">单元唯一法</a>，在[I5]填入数字1。</p>
        <p>先小结一下上面的求解方法：解题时，实际上是在对目标区块（主区块）有影响的区块（辅助区块）中应用单元<a href="sk_2.htm">单元排除法</a>，使辅助区块满足某些条件并能参与对主区块的数字排除。</p>
        <p>实际应用中，可能出现下面四种情况：</p>
        <ul>
          <li><a id="case1" name="case1"></a>当某数字在某个区块中可填入的位置正好都在同一行上，因为该区块中必须要有该数字，所以这一行中不在该区块内的单元格上将不能再出现该数字。 </li>
          <li><a id="case2" name="case2"></a>当某数字在某个区块中可填入的位置正好都在同一列上，因为该区块中必须要有该数字，所以这一列中不在该区块内的单元格上将不能再出现该数字。 </li>
          <li><a id="case3" name="case3"></a>当某数字在某行中可填入的位置正好都在同一区块上，因为该行中必须要有该数字，所以该区块中不在该行内的单元格上将不能再出现该数字。 </li>
          <li><a id="case4" name="case4"></a>当某数字在某列中可填入的位置正好都在同一区块上，因为该列中必须要有该数字，所以该区块中不在该列内的单元格上将不能再出现该数字。 <br />
        </li>
        </ul>
        <p>其中<a href="#case1">1</a>，<a href="#case2">2</a>两种情况相对常见，也比较容易判断。上面的示例就是<a href="#case1">第1种</a>情况。下面我们会看到<a href="#case2">第2种</a>情况的例子：</p>
        <div><img alt="" src="images/sk_3_3.gif" /> </div>
        <p>虽然在起始于[A7]的区块中，未填入数字的空单元格多达4个，但我们还是可以轻松地确定数字5的位置。这是因为在起始于[G7]的区块中，我们欣喜地发现数字5可能出现的位置正好都在第8列上，这时5的确切位置已经不重要了，因为它已经满足了上面介绍的第2种情况的条件，因此可以参与对起始于[A7]的区块进行数字排除了。在它的影响下，[A8]和[B8]中填入数字5的可能性已经不存在，因为它们都在第8列上。这样，在起始于[A7]的区块中，数字5能填入的位置只剩下[A9]和[C9]了。这时，我们再利用单元排除法，通过[A4]位置上的数字5再消除其所在行A上的[A9]，最终得到能填入5的唯一位置[C9]。</p>
        <p>下面看几个比较少见的例子</p>
        <div><img alt="" src="images/sk_3_4.gif" /> </div>
        <p>在行C上，数字3的位置可以通过下面的方法来确定：</p>
        <p>先看行B，利用单元排除法，通过[H2]和[F3]位置上的3进行列排除，得到行B中能填入3的位置为[B4]和[B5]。碰巧的是，这两个单元格都在起始于[A4]的区块中，这时已经满足了上述情况<a href="#case3">3</a>的条件。利用单元排除法的区块排除，则行C上的[C4]和[C5]都不能再填入3；再加上[F3]的列排除的共同努力，最终确定数字3在行C上的唯一位置就是[C1]。<br />
        </p>
        <p>第<a href="#case4">4</a>种情况的例子如下：</p>
        <div><img alt="" src="images/sk_3_5.gif" /> </div>
        <p>在这个示例中，只是使用单元排除法和单元唯一法到这一步就继续不下去了。要想求得数字8在第6列的位置，就必须要借助区块排除法。先看第4列，通过位于[C3]和[I8]的数字8的行排除，使8在第4列可能填入的位置只剩下[D4]和[F4]，而这两个单元格正好都在起始于[D4]的区块中。因为第4列不能没有数字8，而数字8如果填在区块中的其他位置（如[D6]，[E6]或[F6]）时将迫使[D4]和[F4]上不能再填入8，这样会导致第4列没有数字8。因此，第6列中的[D6]，[E6]和[F6]能填入数字8的可能性被排除。这样第6列中就只剩下[B6]能填入8了。<br />
        </p>
        <p>实际解题过程中，还会碰到比较复杂的情况，看下面的谜题：</p>
        <div><img alt="" src="images/sk_3_6.gif" /> </div>
        <p>你能确定数字3在起始于[A1]的区块中的位置吗？先看位于[C5]的数字3，它不仅排除了同一行中[C1]和[C3]中填入3的可能性，也同时排除了同一行中[C8]和[C9]填入3的可能性，这使得在起始于[A7]的区块中，能填入3的位置只剩下[B8]和[B9]，见下图：</p>
        <div><img alt="" src="images/sk_3_7.gif" /> </div>
        <p>利用<strong>区块排除法</strong>，在起始于[A7]的区块中，无论3在[B8]还是[B9]，行B中的其他位置都不能再填入3，所以[B1]，[B2]和[B3]都被排除。于是，在起始于[A1]的区块中，能填入3的位置仅剩下[A1]和[A2]了。但至此我们还无法确定3的准确位置，这时我们还要借助于其他的辅助区块来进一步排除。</p>
        <div><img alt="" src="images/sk_3_8.gif" /> </div>
        <p>观察起始于[D1]的区块，利用[D7]位置上的3排除同一行的[D1]，以及用[G3]位置上的3排除同一列的[E3]和[F3]，使区块中可能填入3的位置只余[E2]和[F2]，刚好这两个位置都在第2列中，符合上面介绍的第2种情况，于是可以把[A2]也排除掉。最后，我们就可以很肯定地在[A1]中填入数字3了。</p>
        <p>这个例子同时使用了多个辅助区块同时参与排除。在实际使用中虽然这种情况并不常见，但却也不少见。关键在于如何能正确识别并恰当应用<strong>区块排除法</strong>。相信通过大量的练习并勤于分析思考，这种方法就可以运用自如，得心应手。<br />
        </p>
        <p>下面是其他的一些例子，可以帮助更好地理解并掌握这种技法：</p>
        <div><img alt="" src="images/sk_3_9.gif" /> <br />
            <img alt="" src="images/sk_3_10.gif" /> <br />
      <img alt="" src="images/sk_3_11.gif" /> </div></td>
      <td width="180" valign="top" ><table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#ECECEC">
        <tr>
          <td><a href="index.htm">数独(Sudoku)介绍</a><br />
            <a href="rule.htm">数独规则</a><br />
            <a href="skill.htm">数独技巧</a><br />
            </td>
        </tr>
      </table>
        </td>
    </tr>
  </table>
  
  
  
</div>

</body>
</html>
